


//Source file: D:\\Users\\afpa\\Documents\\workspace\\20-otarie\\src\\fr.afpa.biblio.metier\\EmpruntArchive.java

package fr.afpa.biblio.metier;

import java.util.Date;

import fr.afpa.biblio.exception.BiblioException;

/**
 * @author afpa
 *
 */
/**
 * @author afpa
 *
 */
public class EmpruntArchive 
{
	private Date dateRestitutionEff;
	private Date dateEmprunt;
	private Utilisateur emprunteur;
	private Exemplaire exemplaire;


	/**
	 * @param _dateRestitutionEff
	 * @param _dateEmprunt
	 * @param _emprunteur
	 * @param _exemplaire
	 * @roseuid 5240E3CF013B
	 */
	public EmpruntArchive(Date _dateRestitutionEff, Date _dateEmprunt,Utilisateur _emprunteur, Exemplaire _exemplaire) {

		this.dateRestitutionEff = _dateRestitutionEff;
		this.dateEmprunt = _dateEmprunt;
		this.emprunteur = _emprunteur;
		this.exemplaire = _exemplaire;

	}

	//------------------------------------------------getters setters------------------------------------//

	/**
	 * @return
	 */
	public Date getDateRestitutionEff() {
		return dateRestitutionEff;
	}

	/**
	 * @param dateRestitutionEff
	 * @throws BiblioException
	 */
	public void setDateRestitutionEff(Date dateRestitutionEff) throws BiblioException {

		if(dateRestitutionEff==null){
			throw new BiblioException("La date d'argument de dateRestitution ne peut etre null");
		}
		else
			this.dateRestitutionEff = dateRestitutionEff;
	}

	/**
	 * @return
	 */
	public Date getDateEmprunt() {
		return dateEmprunt;
	}

	/**
	 * @param dateEmprunt
	 * @throws BiblioException
	 */
	public void setDateEmprunt(Date dateEmprunt) throws BiblioException {

		if(dateEmprunt==null){
			throw new BiblioException("La date d'argument de dateEmprunt ne peut �tre null");
		}
		else
			this.dateEmprunt = dateEmprunt;
	}

	/**
	 * @return
	 */
	public Utilisateur getEmprunteur() {
		return emprunteur;
	}

	/**
	 * @param emprunteur
	 */
	public void setEmprunteur(Utilisateur emprunteur) {
		this.emprunteur = emprunteur;
	}

	/**
	 * @return
	 */
	public Exemplaire getExemplaire() {
		return exemplaire;
	}

	/**
	 * @param exemplaire
	 */
	public void setExemplaire(Exemplaire exemplaire) {
		this.exemplaire = exemplaire;
	}


	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "EmpruntArchive [dateRestitutionEff=" + dateRestitutionEff
				+ ", dateEmprunt=" + dateEmprunt + ", emprunteur=" + emprunteur
				+ ", exemplaire=" + exemplaire + ", toString()="
				+ super.toString() + "]";
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#equals(java.lang.Object)
	 */
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		EmpruntArchive other = (EmpruntArchive) obj;
		if (dateEmprunt == null) {
			if (other.dateEmprunt != null)
				return false;
		} else if (!dateEmprunt.equals(other.dateEmprunt))
			return false;
		if (dateRestitutionEff == null) {
			if (other.dateRestitutionEff != null)
				return false;
		} else if (!dateRestitutionEff.equals(other.dateRestitutionEff))
			return false;
		if (emprunteur == null) {
			if (other.emprunteur != null)
				return false;
		} else if (!emprunteur.equals(other.emprunteur))
			return false;
		if (exemplaire == null) {
			if (other.exemplaire != null)
				return false;
		} else if (!exemplaire.equals(other.exemplaire))
			return false;
		return true;
	}

	
	
	
	
	
	
	
}//class
